char s1[]="hello";char s2[]={'h','e','l','l','o'}strcmp(s1,s2)为什么是负数

来源:百度知道 编辑:UC知道 时间:2024/06/30 07:52:31

s2>s1所以输出负数

s1的末尾还有'\0',s2的末尾没有,因此s1和s2表示的是不同的“字符串”。

s2表示的字符串到底是什么,是不确定的。

如果改为char s2[]={'h','e','l','l','o','\0'},那就相等了
char s1[]="hello",默认最后有个'\0'。